**大家還記得我前年的鐵人賽是寫 IT Consultant 資訊科技顧問的這個題目吧, 而在去年是寫 Data Mining 資料探勘這個題目, 事實上就我的收入而言, 高有效性的顧問是占我顧問收入的二分之一, 而資料探勘部份是只有四分之一, 甚至這部份 (HA) 的工時只有 DM (Semantic Web) 的一半, 也就是說這領域市場價值是相當高的.
這也可以知道這部份的工作是相當搶手, 但也是相當須要經驗與知識的累積才行, 就像是我常說的, 當一到了就業市場, 即使是技術部份也沒有簡單的單一面相, 就上一篇而言 High Availbility 就有 10 個面相, 而這每一個面相都是很大的題目.**
換句話說, 要去區分這 10 個面相那一個是最重要很難的, 甚至每一點都是缺一不可, 若有一點失敗 Fail 的話, HA 也就完了, 且這個只是摘要, 每一個面項可能的點也可以展開 10 個以上, 因此說有超過百項的 Check List 檢核表是一點也不為過, 只是這個表有些項目是可以一般化 Generalization, 有些又是不太可能, 也就是說因服務的不同, 有其不同的觀點, 雖然背後的技術是差不多, 甚至是相同的產業與類似的服務, 因為有不同的 Constraints 條件, 會有不同的方向與路徑, 如何在有限資源中去得到一定的 HA, 就是最困難的判斷.
通常有一個有趣的經驗:
若要把有效性提升, 也就是 Downtime 縮減一半, 所須要的資源也是既有的資源再加 20% 到 50%.
也就是說, 若是現在的 Downtime 是 98%, 若要變成 99% 的話, 若目前的投資是 200 萬, 往往為了提升這個 1%, 須要再加 40 ~ 100 萬, 若是還要提升到 99.5%, 可能是須要總共的成本是 300~450 萬, 而要提升到 99.9% 以上, 投資可能是 98% 的 2.5 倍到 7.5 倍.
這個 2.5 倍到 7.5 倍差別是相當可觀的, 就可以看得出一個高有效度設計師的好與壞, 事實上有時好壞不只如此, 甚至是做得到或做不到的問題, 當然這個倍數不單純只是硬體的投資成本, 其中最主要的部份是在於:
系統規劃的成本: HA 最可怕的是要想盡一些可能會發生的情境 Scenario, 尤其是在多系統時最常發生的 Race Condition 競賽狀況, 死結 Dead Lock, 以及 Error Handle 錯誤處理, 每一個環節都有可能會出錯, 以及那邊會出錯的判斷, 是取決於系統規劃的限制.
修改程式或修改架構的成本: 為了要提升有效性, 程式一定會增加不少錯誤判斷, 分散處理等等的機制, 這些有可能只是須要修改部份的程式, 但最有可能是很多架構都要翻修或新增, 這部份的人力成本是最高的.
測試的成本: 為了要考慮讓有效性提升, 所以要想出最多出問題的可能性與情境, 此時為了創造這情境須要很多 Runtime 上線測試, 一個完整的測試成本是相當高的.
硬體的成本: 最直接可見的是硬體的成本, 由於須要 Load Balance 的設備, 以及 Redundence 重覆的設備, 這都會讓成本提升不只一倍.
營運的成本: 包含須要監控的資源增加, 異地備援的成本, 這些都會增加硬體, 軟體與人力的負擔, 且這些更是因為上線之後, 會隨之增加, 不是說設計完就可以的.
當然這成本最後還是要跟資源去做最後的決斷, 包含是否有 SLA 要達到, 或者是說當 Fail 掉的損失, 無論是直接損失, 隱藏性的損失 (信譽), 以及每一情境所造成的風險, 最後的結果也是須要在一定獲利或者是一定的策略下去達到, 不是無限制的去增加 HA, 所以最後還是決定在經營管理, 而一個好的 HA 顧問是不可能不管這個面相的,
所以要負擔的責任也是相當大的, 因此含金量也是相當高的.
理論上寫到上一篇的 10 點才是文章的重點, 現在也算是前言...
是根據這10項準則來設計scenario嗎?
歡迎回來參加年度盛事
對阿, 寫這種東西在其他地方肯定沒人看, 這邊多少會有人看一下...
一年一次的機會, 雖然有點累也要打起精神..